#ifndef _TAGS_H_
#define _TAGS_H_

#include "Mmsystem.h"

#define VC_ENCODER_EXISTANCE_EVENT_NAME			"VC Encoder Existance Flag"

// Connection's tags
#define TAG_REQUEST				mmioFOURCC('R','E','Q','S')
#define TAG_ANSWER				mmioFOURCC('A','N','S','W')

#define TAG_BADFORMAT			mmioFOURCC('B','A','D','F')
#define TAG_GOODFORMAT			mmioFOURCC('G','O','O','D')

// conference tags
#define TAG_CONFWAIT			mmioFOURCC('W','A','I','T')
#define TAG_BROADCAST			mmioFOURCC('B','C','S','T')
#define TAG_AUTHREQ				mmioFOURCC('A','U','T','Q')

// data tags
#define TAG_GETDATA				mmioFOURCC('G','E','T','0')
#define TAG_STOREDDATA			mmioFOURCC('S','T','O','R')
#define TAG_SIZE				mmioFOURCC('S','I','Z','E')
#define TAG_GETRECORDS			mmioFOURCC('G','E','T','R')

// Video tags
#define TAG_RMSVIDEO_v01		mmioFOURCC('R','V','0','1')
#define TAG_RMSSTOREDVIDEO_v01	mmioFOURCC('V','S','0','1')
#define TAG_RMSVIDEO_v02		mmioFOURCC('R','V','0','2')
#define TAG_VIDEOSTREAM_v01		mmioFOURCC('V','M','0','1')
#define TAG_VIDEOSTREAM_v02		mmioFOURCC('V','M','0','2')

// Audio tags
#define TAG_RMSSOUND_v01		mmioFOURCC('S','D','0','1')
#define TAG_RMSSTOREDSOUND_v01	mmioFOURCC('S','S','0','1')
#define TAG_SOUNDUDPPORT		mmioFOURCC('S','D','P','T')

#define TAG_RMSFEC_PSHUF1		mmioFOURCC('E','C','0','1')
// fec-packet, method: parity (2*n samples -> 3*n samples)
// std-packet size = 4 + 1 + 4 + 33*k
// fec-packet size = 4 + 2 + 2 + 33*k

// Time & data tags
#define TAG_TIME_v01			mmioFOURCC('T','I','0','1')
#define TAG_DATE_v01			mmioFOURCC('D','A','0','1')
#define TAG_STOREDTIME_v01		mmioFOURCC('T','S','0','1')
#define TAG_STOREDDATE_v01		mmioFOURCC('D','S','0','1')

#define TAG_TIMEMARK			mmioFOURCC('M','A','R','K')
#define TAG_TIMEMARK1			mmioFOURCC('M','R','K','1')

// Camera ID tags
#define TAG_CAMERA_v01			mmioFOURCC('C','A','0','1')

// Password
#define TAG_PASSWORD_v01		mmioFOURCC('P','A','S','1')
#define TAG_VC_RING				mmioFOURCC('V','C','R','N')
#define TAG_SUPPORT_RING		mmioFOURCC('V','C','S','R')
#define TAG_ADDRESS_ON_RING		mmioFOURCC('R','A','O','R')
#define TAG_VC_RING_1			mmioFOURCC('V','C','R','1')

#endif

//	TAG-PROTOCOL

//	Request from client
//	REQS:	DWORD	Len of data:	DWORD
//	Data:	used tags

//	Answer from server
//	ANSW:	DWORD
//	if not supported client's format
//	BADF:	DWORD
//	else
//	GOOD:	DWORD

//	Request data
//	GET0:	DWORD

//	Data format
//	TAG:	DWORD	Len of data:	DWORD
//	DATA
